class Solution {
public:
    bool isValid(string s) {
        // write code here
        stack<char> st;
        for (const auto& ch : s)
        {
            if (!st.empty() && ((ch == ')' && st.top() == '(') || (ch == '}' && st.top() == '{') || (ch == ']' && st.top() == '[')))
                st.pop();
            else
                st.push(ch);
        }
        return st.empty();
    }
};